PostgreSQL pg_stat_statements 参数
1 背景知识
本文主要介绍 PostgreSQL pg_stat_statements 相关参数。
2 参数说明
2.1 pg_stat_statements.max (integer)
pg_stat_statements.max
指定此扩展记录的SQL语句的最大数目(即 pg_stat_statements 视图中行的最大数量)。如果记录到的语句超过这个数量,执行次数最少的语句的信息将会被删除。
此参数默认值为 5000
。更改这个参数需要重启服务器。
2.2 pg_stat_statements.track (enum)
pg_stat_statements.track
指定此扩展要记录哪些语句并计数。
指定 top
可以跟踪顶层语句(那些直接由客户端发出的语句)。
指定 all
还可以跟踪嵌套的语句(例如在函数中调用的语句)。
指定 none
可以禁用语句统计信息收集。
默认值是 top
。只有 SuperUser
能够改变此参数。
2.3 pg_stat_statements.track_utility (boolean)
pg_stat_statements.track_utility
指定此扩展是否记录 工具命令
并计数。工具命令
是指除了 SELECT
、INSERT
、 UPDATE
和 DELETE
之外所有的其他命令。默认值是 on
。只有 SuperUser
能够改变这个设置。
2.4 pg_stat_statements.track_planning (boolean)
pg_stat_statements.track_planning
指定是否记录 生成执行计划的操作
和 生成执行计划持续时间
。在并发连接较多,查询比较单一时,启用此参数可能会导致明显的性能损耗。默认值为 off
。只有 SuperUser
才能更改此设置。
2.5 pg_stat_statements .save (boolean)
pg_stat_statements.save
指定是否在服务器关闭之后还保存语句统计信息。
- 如果被设置为
off
,那么服务器关闭后不保存统计信息并且在服务器启动时也不会重新载入统计信息。 - 默认值为
on
。 - 这个参数只能在
postgresql.conf
文件中或者使用ALTER SYSTEM
设置。
Warning
此扩展请求与 pg_stat_statements.max
成比例的额外共享内存。
请注意,只要此扩展被载入就会消耗这么多的内存,即便 pg_stat_statements.track
被设置为 none
。